import time

def writeLog(func):
    def wrapper(*args,**kw):
        print('['+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())+']'+func.__name__+' called')
        return func(*args,**kw)
    return wrapper

@writeLog
def hello(name):
    print('hello',name)

hello('world')

'''
这个例子里我们编写了装饰器writelog()用来增加函数log()的功能，只需要在函数log()前加@writelog即可。
其中func.__name__代表函数的函数名。内部函数wrapper()名字非固定的，可以自定义名称。

wrapper()函数的参数定义是(*args, **kw)，因此，wrapper()函数可以接受任意参数的调用。
'''